home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / mail / vbstak12 / vbstak / stakman / stakman.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-10-11  |  22.6 KB  |  723 lines

  1. VERSION 2.00
  2. Begin Form StakMan 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "StakMan"
  5.    ClientHeight    =   6195
  6.    ClientLeft      =   810
  7.    ClientTop       =   795
  8.    ClientWidth     =   7425
  9.    Height          =   6600
  10.    Icon            =   STAKMAN.FRX:0000
  11.    Left            =   750
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   6195
  14.    ScaleWidth      =   7425
  15.    Top             =   450
  16.    Width           =   7545
  17.    Begin VBSTAK VBStak 
  18.       Debug           =   0   'False
  19.       Host            =   "haddock2"
  20.       HostAddress     =   ""
  21.       InputLen        =   0
  22.       Left            =   3420
  23.       LocalAddress    =   ""
  24.       LocalPort       =   0
  25.       Options         =   0
  26.       Protocol        =   0
  27.       ProtocolName    =   "tcp"
  28.       RemotePort      =   0
  29.       ServiceName     =   "ftp"
  30.       Top             =   1650
  31.    End
  32.    Begin VBSTAK DataStak 
  33.       Debug           =   0   'False
  34.       Host            =   "none"
  35.       HostAddress     =   "0.0.0.0"
  36.       InputLen        =   0
  37.       Left            =   2850
  38.       LocalAddress    =   ""
  39.       LocalPort       =   16000
  40.       Options         =   0
  41.       Protocol        =   0
  42.       ProtocolName    =   "tcp"
  43.       RemotePort      =   0
  44.       ServiceName     =   "ftp-data"
  45.       Top             =   1620
  46.    End
  47.    Begin Frame Frame3 
  48.       BackColor       =   &H00C0C0C0&
  49.       Caption         =   "Status"
  50.       FontBold        =   -1  'True
  51.       FontItalic      =   -1  'True
  52.       FontName        =   "MS Sans Serif"
  53.       FontSize        =   8.25
  54.       FontStrikethru  =   0   'False
  55.       FontUnderline   =   0   'False
  56.       Height          =   1155
  57.       Left            =   4170
  58.       TabIndex        =   0
  59.       Top             =   0
  60.       Width           =   3225
  61.       Begin CommandButton CloseFormButton 
  62.          Caption         =   "Close"
  63.          Height          =   315
  64.          Left            =   2400
  65.          TabIndex        =   8
  66.          Top             =   150
  67.          Width           =   795
  68.       End
  69.       Begin CheckBox AutoCloseCheckBox 
  70.          BackColor       =   &H00C0C0C0&
  71.          Caption         =   "AutoClose"
  72.          Height          =   195
  73.          Left            =   1860
  74.          TabIndex        =   9
  75.          Top             =   840
  76.          Value           =   1  'Checked
  77.          Width           =   1245
  78.       End
  79.       Begin CheckBox DebugMode 
  80.          BackColor       =   &H00C0C0C0&
  81.          Caption         =   "Debug"
  82.          Height          =   285
  83.          Left            =   1860
  84.          TabIndex        =   1
  85.          Top             =   510
  86.          Width           =   885
  87.       End
  88.       Begin TextBox ErrorBox 
  89.          BackColor       =   &H00FFFFFF&
  90.          Height          =   285
  91.          Left            =   750
  92.          TabIndex        =   2
  93.          Top             =   840
  94.          Width           =   660
  95.       End
  96.       Begin TextBox SocketBox 
  97.          BackColor       =   &H00FFFFFF&
  98.          Height          =   285
  99.          Left            =   750
  100.          TabIndex        =   3
  101.          Top             =   240
  102.          Width           =   405
  103.       End
  104.       Begin TextBox StatusBox 
  105.          BackColor       =   &H00FFFFFF&
  106.          Height          =   285
  107.          Left            =   750
  108.          TabIndex        =   4
  109.          Top             =   540
  110.          Width           =   405
  111.       End
  112.       Begin Label Label3 
  113.          BackColor       =   &H00C0C0C0&
  114.          Caption         =   "Error"
  115.          Height          =   225
  116.          Index           =   0
  117.          Left            =   180
  118.          TabIndex        =   5
  119.          Top             =   840
  120.          Width           =   615
  121.       End
  122.       Begin Label Label3 
  123.          BackColor       =   &H00C0C0C0&
  124.          Caption         =   "Socket"
  125.          Height          =   225
  126.          Index           =   1
  127.          Left            =   60
  128.          TabIndex        =   6
  129.          Top             =   270
  130.          Width           =   615
  131.       End
  132.       Begin Label Label4 
  133.          BackColor       =   &H00C0C0C0&
  134.          Caption         =   "State"
  135.          Height          =   225
  136.          Index           =   0
  137.          Left            =   60
  138.          TabIndex        =   7
  139.          Top             =   540
  140.          Width           =   585
  141.       End
  142.    End
  143.    Begin Frame Frame2 
  144.       BackColor       =   &H00C0C0C0&
  145.       Caption         =   "Host"
  146.       FontBold        =   -1  'True
  147.       FontItalic      =   -1  'True
  148.       FontName        =   "MS Sans Serif"
  149.       FontSize        =   8.25
  150.       FontStrikethru  =   0   'False
  151.       FontUnderline   =   0   'False
  152.       Height          =   2115
  153.       Left            =   30
  154.       TabIndex        =   17
  155.       Top             =   0
  156.       Width           =   4155
  157.       Begin CommandButton MessageButton 
  158.          Caption         =   "Connect"
  159.          Height          =   315
  160.          Left            =   2910
  161.          TabIndex        =   11
  162.          Top             =   1020
  163.          Width           =   1095
  164.       End
  165.       Begin CommandButton ServiceButton 
  166.          Caption         =   "GetService"
  167.          Height          =   315
  168.          Left            =   2910
  169.          TabIndex        =   12
  170.          Top             =   120
  171.          Width           =   1095
  172.       End
  173.       Begin CommandButton GetHostButton 
  174.          Caption         =   "Get Host"
  175.          Height          =   315
  176.          Left            =   2910
  177.          TabIndex        =   32
  178.          Top             =   720
  179.          Width           =   1095
  180.       End
  181.       Begin CommandButton ProtocolButton 
  182.          Caption         =   "GetProtocol"
  183.          Height          =   315
  184.          Left            =   2910
  185.          TabIndex        =   31
  186.          Top             =   420
  187.          Width           =   1095
  188.       End
  189.       Begin TextBox RemotePortBox 
  190.          BackColor       =   &H00FFFFFF&
  191.          Height          =   315
  192.          Left            =   1920
  193.          TabIndex        =   29
  194.          Top             =   330
  195.          Width           =   555
  196.       End
  197.       Begin TextBox ProtocolBox 
  198.          BackColor       =   &H00FFFFFF&
  199.          Height          =   315
  200.          Left            =   1920
  201.          TabIndex        =   28
  202.          Top             =   660
  203.          Width           =   555
  204.       End
  205.       Begin TextBox ServiceNameBox 
  206.          BackColor       =   &H00FFFFFF&
  207.          Height          =   315
  208.          Left            =   840
  209.          TabIndex        =   21
  210.          Top             =   330
  211.          Width           =   1005
  212.       End
  213.       Begin TextBox ProtocolNameBox 
  214.          BackColor       =   &H00FFFFFF&
  215.          Height          =   315
  216.          Left            =   840
  217.          TabIndex        =   20
  218.          Top             =   660
  219.          Width           =   1005
  220.       End
  221.       Begin TextBox HostNameBox 
  222.          BackColor       =   &H00FFFFFF&
  223.          Height          =   315
  224.          Left            =   840
  225.          TabIndex        =   19
  226.          Top             =   1050
  227.          Width           =   1995
  228.       End
  229.       Begin TextBox HostAddressBox 
  230.          BackColor       =   &H00FFFFFF&
  231.          Height          =   315
  232.          Left            =   840
  233.          TabIndex        =   18
  234.          Top             =   1410
  235.          Width           =   1305
  236.       End
  237.       Begin Label Label2 
  238.          BackColor       =   &H00C0C0C0&
  239.          Caption         =   "Name"
  240.          Height          =   225
  241.          Index           =   4
  242.          Left            =   840
  243.          TabIndex        =   46
  244.          Top             =   120
  245.          Width           =   525
  246.       End
  247.       Begin Label Label2 
  248.          BackColor       =   &H00C0C0C0&
  249.          Caption         =   "#"
  250.          Height          =   225
  251.          Index           =   3
  252.          Left            =   1950
  253.          TabIndex        =   47
  254.          Top             =   120
  255.          Width           =   525
  256.       End
  257.       Begin Label Label1 
  258.          BackColor       =   &H00C0C0C0&
  259.          Caption         =   "Name"
  260.          Height          =   225
  261.          Index           =   0
  262.          Left            =   90
  263.          TabIndex        =   27
  264.          Top             =   1110
  265.          Width           =   645
  266.       End
  267.       Begin Label Label2 
  268.          BackColor       =   &H00C0C0C0&
  269.          Caption         =   "IP"
  270.          Height          =   225
  271.          Index           =   0
  272.          Left            =   90
  273.          TabIndex        =   26
  274.          Top             =   1440
  275.          Width           =   525
  276.       End
  277.       Begin Label Label1 
  278.          BackColor       =   &H00C0C0C0&
  279.          Caption         =   "Service"
  280.          Height          =   255
  281.          Index           =   1
  282.          Left            =   120
  283.          TabIndex        =   24
  284.          Top             =   330
  285.          Width           =   705
  286.       End
  287.       Begin Label Label 
  288.          BackColor       =   &H00C0C0C0&
  289.          Caption         =   "Protocol"
  290.          Height          =   225
  291.          Index           =   4
  292.          Left            =   120
  293.          TabIndex        =   23
  294.          Top             =   690
  295.          Width           =   825
  296.       End
  297.    End
  298.    Begin Frame Frame1 
  299.       BackColor       =   &H00C0C0C0&
  300.       Caption         =   "Data "
  301.       FontBold        =   -1  'True
  302.       FontItalic      =   -1  'True
  303.       FontName        =   "MS Sans Serif"
  304.       FontSize        =   8.25
  305.       FontStrikethru  =   0   'False
  306.       FontUnderline   =   0   'False
  307.       Height          =   1005
  308.       Left            =   5730
  309.       TabIndex        =   13
  310.       Top             =   1110
  311.       Width           =   1665
  312.       Begin TextBox LocalDataPort 
  313.          BackColor       =   &H00FFFFFF&
  314.          Height          =   285
  315.          Left            =   810
  316.          TabIndex        =   16
  317.          Top             =   630
  318.          Width           =   765
  319.       End
  320.       Begin CommandButton ConnectDataButton 
  321.          Caption         =   "Open"
  322.          Height          =   315
  323.          Left            =   870
  324.          TabIndex        =   14
  325.          Top             =   120
  326.          Width           =   765
  327.       End
  328.       Begin Label Label2 
  329.          BackColor       =   &H00C0C0C0&
  330.          Caption         =   "Port #"
  331.          Height          =   225
  332.          Index           =   2
  333.          Left            =   60
  334.          TabIndex        =   39
  335.          Top             =   660
  336.          Width           =   765
  337.       End
  338.    End
  339.    Begin Frame Frame4 
  340.       BackColor       =   &H00C0C0C0&
  341.       Caption         =   "Command"
  342.       FontBold        =   -1  'True
  343.       FontItalic      =   -1  'True
  344.       FontName        =   "MS Sans Serif"
  345.       FontSize        =   8.25
  346.       FontStrikethru  =   0   'False
  347.       FontUnderline   =   0   'False
  348.       Height          =   1005
  349.       Left            =   4170
  350.       TabIndex        =   33
  351.       Top             =   1110
  352.       Width           =   1575
  353.       Begin TextBox LocalAddressBox 
  354.          BackColor       =   &H00FFFFFF&
  355.          Height          =   315
  356.          Left            =   330
  357.          TabIndex        =   35
  358.          Top             =   270
  359.          Width           =   1185
  360.       End
  361.       Begin TextBox LocalPort 
  362.          BackColor       =   &H00FFFFFF&
  363.          Height          =   315
  364.          Left            =   750
  365.          TabIndex        =   34
  366.          Top             =   600
  367.          Width           =   765
  368.       End
  369.       Begin Label Label2 
  370.          BackColor       =   &H00C0C0C0&
  371.          Caption         =   "IP"
  372.          Height          =   225
  373.          Index           =   1
  374.          Left            =   60
  375.          TabIndex        =   37
  376.          Top             =   300
  377.          Width           =   405
  378.       End
  379.       Begin Label Label3 
  380.          BackColor       =   &H00C0C0C0&
  381.          Caption         =   "Port #"
  382.          Height          =   225
  383.          Index           =   2
  384.          Left            =   30
  385.          TabIndex        =   36
  386.          Top             =   660
  387.          Width           =   585
  388.       End
  389.    End
  390.    Begin Frame Frame5 
  391.       BackColor       =   &H00C0C0C0&
  392.       Caption         =   "Send"
  393.       FontBold        =   -1  'True
  394.       FontItalic      =   -1  'True
  395.       FontName        =   "MS Sans Serif"
  396.       FontSize        =   8.25
  397.       FontStrikethru  =   0   'False
  398.       FontUnderline   =   0   'False
  399.       Height          =   1995
  400.       Left            =   30
  401.       TabIndex        =   40
  402.       Top             =   2100
  403.       Width           =   5175
  404.       Begin CommandButton SendDataButton 
  405.          Caption         =   "Send Data"
  406.          Height          =   315
  407.          Left            =   3870
  408.          TabIndex        =   10
  409.          Top             =   210
  410.          Width           =   1155
  411.       End
  412.       Begin TextBox OutputBuffer 
  413.          BackColor       =   &H00FFFFFF&
  414.          Height          =   1365
  415.          Left            =   30
  416.          MultiLine       =   -1  'True
  417.          ScrollBars      =   3  'Both
  418.          TabIndex        =   44
  419.          Top             =   570
  420.          Width           =   5085
  421.       End
  422.       Begin CheckBox LineModeCheck 
  423.          BackColor       =   &H00C0C0C0&
  424.          Caption         =   "Line Mode"
  425.          Height          =   195
  426.          Left            =   150
  427.          TabIndex        =   43
  428.          Top             =   300
  429.          Width           =   1215
  430.       End
  431.       Begin CommandButton ClearSend 
  432.          Caption         =   "Clear"
  433.          Height          =   315
  434.          Left            =   1620
  435.          TabIndex        =   42
  436.          Top             =   210
  437.          Width           =   705
  438.       End
  439.       Begin CommandButton SendButton 
  440.          Caption         =   "Send Command"
  441.          Height          =   315
  442.          Left            =   2400
  443.          TabIndex        =   41
  444.          Top             =   210
  445.          Width           =   1425
  446.       End
  447.    End
  448.    Begin Frame Frame6 
  449.       BackColor       =   &H00C0C0C0&
  450.       Caption         =   "Events"
  451.       FontBold        =   -1  'True
  452.       FontItalic      =   -1  'True
  453.       FontName        =   "MS Sans Serif"
  454.       FontSize        =   8.25
  455.       FontStrikethru  =   0   'False
  456.       FontUnderline   =   0   'False
  457.       Height          =   1995
  458.       Left            =   5190
  459.       TabIndex        =   15
  460.       Top             =   2100
  461.       Width           =   2205
  462.       Begin TextBox EventBox 
  463.          BackColor       =   &H00FFFFFF&
  464.          Height          =   1365
  465.          Left            =   30
  466.          MultiLine       =   -1  'True
  467.          ScrollBars      =   2  'Vertical
  468.          TabIndex        =   22
  469.          Top             =   570
  470.          Width           =   2055
  471.       End
  472.       Begin CommandButton ClearButton 
  473.          Caption         =   "Clear"
  474.          Height          =   285
  475.          Left            =   1320
  476.          TabIndex        =   25
  477.          Top             =   210
  478.          Width           =   765
  479.       End
  480.    End
  481.    Begin Frame Frame7 
  482.       BackColor       =   &H00C0C0C0&
  483.       Caption         =   "Receive"
  484.       FontBold        =   -1  'True
  485.       FontItalic      =   -1  'True
  486.       FontName        =   "MS Sans Serif"
  487.       FontSize        =   8.25
  488.       FontStrikethru  =   0   'False
  489.       FontUnderline   =   0   'False
  490.       Height          =   2085
  491.       Left            =   30
  492.       TabIndex        =   30
  493.       Top             =   4080
  494.       Width           =   7365
  495.       Begin TextBox InputBuffer 
  496.          BackColor       =   &H00FFFFFF&
  497.          Height          =   1635
  498.          Left            =   0
  499.          MultiLine       =   -1  'True
  500.          ScrollBars      =   3  'Both
  501.          TabIndex        =   38
  502.          Top             =   450
  503.          Width           =   7335
  504.       End
  505.       Begin CommandButton ClearReceive 
  506.          Caption         =   "Clear"
  507.          Height          =   285
  508.          Left            =   6600
  509.          TabIndex        =   45
  510.          Top             =   150
  511.          Width           =   675
  512.       End
  513.    End
  514. Dim EventArray(1 To 9) As String
  515. Dim AutoClose As Integer
  516. Sub ClearButton_Click ()
  517. ' Clear the event log
  518.   EventBox.Text = ""
  519. End Sub
  520. Sub ClearReceive_Click ()
  521.   inputBuffer.Text = ""
  522. End Sub
  523. Sub ClearSend_Click ()
  524.   OutputBuffer.Text = ""
  525. End Sub
  526. Sub CloseFormButton_Click ()
  527. ' Close the form
  528.   If (MsgBox("Close all connections?", MB_ICONQUESTION + MB_YESNO) = IDYES) Then
  529.     vbstak.Action = STAK_ACTION_CLOSE
  530.     DataStak.Action = STAK_ACTION_CLOSE
  531.     DataStak.Action = STAK_ACTION_CLOSE
  532.     Unload Me
  533.   End If
  534. End Sub
  535. Sub CloseSocket ()
  536.     vbstak.Action = STAK_ACTION_CLOSE
  537.     DataStak.Action = STAK_ACTION_CLOSE
  538.     DataStak.Socket = DataStak.MasterSocket
  539.     DataStak.Action = STAK_ACTION_CLOSE
  540.     MessageButton.Caption = "Connect"
  541. End Sub
  542. Sub ConnectDataButton_Click ()
  543.   'Set the DataStak up to listen
  544.   If ConnectDataButton.Caption <> "Close" Then
  545.     DataStak.Protocol = IPPROTO_TCP
  546.     'DataStak.LocalAddress = VBStak.LocalAddress
  547.     DataStak.LocalPort = 2048
  548.     DataStak.Action = STAK_ACTION_LISTEN
  549.     ConnectDataButton.Caption = "Close"
  550.     LocalDataPort.Text = DataStak.LocalPort
  551.   Else
  552.     DataStak.Action = STAK_ACTION_CLOSE
  553.     DataStak.Action = STAK_ACTION_CLOSE
  554.     ConnectDataButton.Caption = "Open"
  555.   End If
  556. End Sub
  557. Sub DataStak_Message (Message As Integer)
  558.   EventBox.Text = "(Data)" & DecodeEvent(Message) + Chr(13) + Chr(10) + EventBox.Text
  559. Select Case Message
  560.   Case FD_ACCEPT
  561.     ' Got here
  562.   Case FD_READ
  563.     dataString = DataStak.Input
  564.     inputBuffer.SelStart = Len(inputBuffer.Text)
  565.     inputBuffer.SelText = dataString
  566.   Case FD_CONNECT
  567.     LocalDataPort.Text = Str(DataStak.LocalPort \ 256) & "," & Str(DataStak.LocalPort Mod 256)
  568.   Case FD_CLOSE
  569.     DataStak.Action = STAK_ACTION_CLOSE
  570.     ConnectDataButton.Caption = "Open Data Port"
  571.   End Select
  572.   statusBox.Text = vbstak.Status
  573. End Sub
  574. Sub DebugMode_Click ()
  575.   ' Set the debug mode
  576.   vbstak.Debug = DebugMode.Value
  577. End Sub
  578. Function DecodeEvent (event As Integer) As String
  579.   Select Case event
  580.   Case FD_READ
  581.     DecodeEvent = "Read"
  582.   Case FD_WRITE
  583.     DecodeEvent = "Write"
  584.   Case FD_OOB
  585.     DecodeEvent = "Out Of Bound"
  586.   Case FD_ACCEPT
  587.     DecodeEvent = "Accept"
  588.   Case FD_CONNECT
  589.     DecodeEvent = "Connect"
  590.   Case FD_CLOSE
  591.     DecodeEvent = "Close"
  592.   Case STAK_EVENT_SERVICE
  593.     DecodeEvent = "Service"
  594.   Case STAK_EVENT_HOST
  595.     DecodeEvent = "Host"
  596.   Case STAK_EVENT_PROTOCOL
  597.     DecodeEvent = "Protocol"
  598.   End Select
  599. End Function
  600. Sub DisplayStatus ()
  601.   HostAddressBox.Text = vbstak.HostAddress
  602.   HostNameBox.Text = vbstak.Host
  603.   ErrorBox.Text = vbstak.Error
  604.   SocketBox.Text = vbstak.Socket
  605.   LocalPort.Text = vbstak.LocalPort
  606.   ProtocolNameBox.Text = vbstak.ProtocolName
  607.   ServiceNameBox.Text = vbstak.ServiceName
  608.   statusBox.Text = vbstak.Status
  609.   LocalDataPort.Text = DataStak.LocalPort
  610. End Sub
  611. Sub Form_Load ()
  612.   Call DisplayStatus
  613. End Sub
  614. Sub Form_Unload (Cancel As Integer)
  615.   vbstak.Action = STAK_ACTION_CLOSE
  616. End Sub
  617. Sub GetHostButton_Click ()
  618.   vbstak.Host = vbstak.Host & Chr(0)
  619.   vbstak.Action = STAK_ACTION_GET_HOST
  620. End Sub
  621. Sub HostAddressBox_LostFocus ()
  622.   ' Set the host address
  623.   vbstak.HostAddress = HostAddressBox.Text
  624. End Sub
  625. Sub HostNameBox_LostFocus ()
  626.   vbstak.Host = HostNameBox.Text
  627. End Sub
  628. Sub MessageButton_Click ()
  629.   If MessageButton.Caption = "Connect" Then
  630.     'VBStak.LocalAddress = "0.0.0.0"
  631.     vbstak.LocalPort = 0
  632.     vbstak.Action = STAK_ACTION_CONNECT
  633.   Else
  634.     Call CloseSocket
  635.   End If
  636. End Sub
  637. Sub OutputBuffer_KeyPress (KeyAscii As Integer)
  638.   Static LineBuffer As String
  639.   If KeyAscii = 13 And LineModeCheck Then
  640.     lineEndPosition = 1
  641.     lineStartPosition = 1
  642.     lineOffset = 0
  643.     Do While lineEndPosition <= OutputBuffer.SelStart
  644.       lineEndPosition = InStr(lineStartPosition + 1, OutputBuffer.Text, Chr(13))
  645.       If lineEndPosition = 0 Then lineEndPosition = Len(OutputBuffer.Text) + 1
  646.       If lineEndPosition >= OutputBuffer.SelStart Then
  647.         Exit Do
  648.       End If
  649.       lineOffset = 2
  650.       lineStartPosition = lineEndPosition
  651.     Loop
  652.     'Return key - process line command
  653.     outputString = Mid(OutputBuffer.Text, lineStartPosition + lineOffset, lineEndPosition - lineStartPosition - lineOffset) & Chr(10)
  654.     vbstak.Output = outputString
  655.     vbstak.Action = STAK_ACTION_SEND
  656.   Else
  657.     LineBuffer = LineBuffer & Chr(KeyAscii)
  658.   End If
  659. End Sub
  660. Sub ProtocolButton_Click ()
  661.   vbstak.ProtocolName = ProtocolNameBox.Text & Chr(0)
  662.   vbstak.Action = STAK_ACTION_GET_PROTOCOL
  663. End Sub
  664. Sub RemotePortBox_LostFocus ()
  665.   ' Set the service manually
  666.   vbstak.RemotePort = Val(RemotePortBox.Text)
  667. End Sub
  668. Sub SendButton_Click ()
  669. ' Send the text
  670.   ' inputBuffer.Text = ""
  671.   vbstak.Output = OutputBuffer.Text
  672.   vbstak.Action = STAK_ACTION_SEND
  673. End Sub
  674. Sub SendDataButton_Click ()
  675. '  Send the data to the Data port
  676.   DataStak.Output = OutputBuffer.Text
  677.   DataStak.Action = STAK_ACTION_SEND
  678. End Sub
  679. Sub ServiceButton_Click ()
  680.   vbstak.ServiceName = ServiceNameBox.Text & Chr(0)
  681.   vbstak.ProtocolName = ProtocolNameBox.Text & Chr(0)
  682.   vbstak.Action = STAK_ACTION_GET_SERVICE
  683. End Sub
  684. Sub ServiceNameBox_LostFocus ()
  685.   vbstak.ServiceName = ServiceNameBox.Text
  686. End Sub
  687. Sub StatusButton_Click ()
  688.   Call DisplayStatus
  689. End Sub
  690. Sub VBStak_Message (Message As Integer)
  691.   ' Get the message
  692.   EventBox.Text = "(Com)" & DecodeEvent(Message) + Chr(13) + Chr(10) + EventBox.Text
  693.   Select Case Message
  694.   Case FD_CONNECT
  695.     If vbstak.Error = 0 Then
  696.       MessageButton.Caption = "Close Socket"
  697.       LocalAddressBox.Text = vbstak.LocalAddress
  698.     End If
  699.   Case FD_READ
  700. '    inputBuffer.Text = inputBuffer.Text & VBStak.Input & Chr(13) & Chr(10)
  701.     inputBuffer.SelStart = Len(inputBuffer.Text)
  702.     inputBuffer.SelText = vbstak.Input
  703.   Case FD_CLOSE
  704.     If AutoCloseCheckBox.Value = 1 Then
  705.       Call CloseSocket
  706.     End If
  707.   Case STAK_EVENT_SERVICE
  708.     ' The port has been loaded
  709.     'MsgBox ("Got the service request")
  710.     RemotePortBox.Text = vbstak.RemotePort
  711.   Case STAK_EVENT_PROTOCOL
  712.     ' The protocol has been loaded
  713.     'MsgBox ("Got the protocol request")
  714.     ProtocolBox.Text = vbstak.Protocol
  715.   Case STAK_EVENT_HOST
  716.     ' The host has been loaded
  717.     If vbstak.Error <> 0 Then
  718.       MsgBox ("Could not locate host " & HostNameBox.Text)
  719.     End If
  720.   End Select
  721.   Call DisplayStatus
  722. End Sub
  723.